const path = require('path');        //引入path模块
function resolve(dir){
    return path.join(__dirname,dir)  //path.join(__dirname)设置绝对路径
}
module.exports={
    chainWebpack:(config)=>{
         //set第一个参数：设置的别名，第二个参数：设置的路径
        config.resolve.alias.set('@',resolve('./src'))
        .set('assets',resolve('.src/assets'))
        .set('components',resolve('./src/components'))
        .set('views',resolve('src/views'))
        .set('plugins',resolve('src/plugins'))
        .set('router',resolve('src/router'))
        .set('network',resolve('src/network'))


    // 自定义打包入口
        // 发布模式
        config.when(process.env.NODE_ENV === 'production',config => {
            config.entry('app').clear().add('./src/main-prod.js')
            config.set('externals',{
                vue: 'Vue',
                axios: 'axios',
                lodash: '_',
                'vue-router': 'VueRouter',
                echarts: 'echarts',
                nprogress: 'NProgress',
                'vue-quill-editor': 'VueQuillEditor'
            })
            config.plugin('html').tap(args => {
                args[0].isProd = true
                return args
            })
        })

        // 开发模式
        config.when(process.env.NODE_ENV === 'development',config => {
            config.entry('app').clear().add('./src/main-dev.js')
            config.plugin('html').tap(args => {
                args[0].isProd = false
                return args
            })
        })
    }
}



